<?php
class Db_Master_JobScore extends Db_TableAbstract
{
	const TABLE_NAME = 'm_job_score';
	
	/**
	 * すべてのレコードを返すセレクタ
	 * 
	 * @return Zend_Db_Select
	 */
	public function selectAll()
	{
		return $this->_db->select()->from(self::TABLE_NAME);
	}
	
	/**
	 * プライマリキーからレコード返すセレクタ
	 * 
	 * @param int $majorCd
	 * @param int $minorCd
	 * @return Zend_Db_Select
	 */
	public function selectByPrimary($majorCd, $minorCd)
	{
		return $this->selectAll()
			->where('JOB_MAJOR_CD = ?', $majorCd)
			->where('JOB_MINOR_CD = ?', $minorCd);
	}
	
	/**
	 * プライマリキーからレコード返す
	 * 
	 * @param int $majorCd
	 * @param int $minorCd
	 * @return array|false
	 */
	public function getByPrimary($majorCd, $minorCd)
	{
		return $this->_db->fetchRow($this->selectByPrimary($majorCd, $minorCd));
	}
	
	/**
	 * プライマリキーからレコード返す なければデフォルトを返す
	 *
	 * @param int $majorCd
	 * @param int $minorCd
	 * @return array
	 */
	public function getDefaultByPrimary($majorCd, $minorCd)
	{
		$row = $this->getByPrimary($majorCd, $minorCd);
		
		if($row)return $row;
		
		return array(
			'JOB_MAJOR_CD' => $majorCd,
			'JOB_MINOR_CD' => $minorCd,
			'DAMAGE_RATE'  => 1,
			'BONUS'        => 0,
		);
	}
}